package zinterface

import "net"

/**
 *链接模块抽象成
 */

type IConnection interface {
	// 启动链接
	Start()
	// 停止链接
	Stop()
	// 获取链接
	GetTCPConnection() *net.TCPConn
	// 获取链接id
	GetConnID() uint32
	// 获取远程ip
	RemoteAddr() net.Addr
	// 发送数据
	//Send(data []byte) error

	SendMsg(msgId uint32, data []byte) error
	// 设置连接属性
	SetProperty(key string, value interface{})
	// 获取连接属性
	GetProperty(key string) (interface{}, error)
	// 移除连接属性
	RemoveProperty(key string)
}

// 处理链接业务
type HandFunc func(*net.TCPConn, []byte, int) error
